home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
mailwa10.zip
/
MAILWAIT.DOC
< prev
next >
Wrap
Text File
|
1989-03-11
|
19KB
|
463 lines
MAILWAIT Version 1.0
MAILWAIT 1.0 An RBBS Message Base & ECHO Mail Utility (03/11/89)
Written By : Mike Zakharoff
Origin : INTERSTATE BBS NETWORK, Seattle WA
FidoNet : (1:343/36) (206) 631-3231 (PCPable! WASEA/1200/2400)
-----------------------------------------------------------------------
PURPOSE
MAILWAIT was developed to allow RBBS Sysops to have total control over
the 'mail waiting bit' located in an RBBS USER file. MAILWAIT will
reset the mailwaiting bit so that when a user logs onto an RBBS
bulletin board, he/she will be notified if messages have been left to
him/her. Here is a summary of MAILWAIT's General features:
1) Match on NEW -or- NEW & OLD mail to the user
2) Match on mail TO -or- TO & FROM the user
3) Will Change Messages with sysops REAL NAME to 'SYSOP'
4) Will maintain a log file
5) Will RESET (set to 'no') all mailwaiting bits (optionally)
6) Will ONLY process message bases which have CHANGED
7) Allows operation using a 'command file'.
In addition, MAILWAIT accomplishes some message base maintenance tasks
associated with FidoNet Echo messages and RBBSMAIL such as:
1) Will only select messages not already scanned by RBBSMAIL
2) Will clean-up the 'Subject Field' of redundant 'RE:'
In order to accomplish this, a corresponding MESSAGE & USER file must
be specified and analyzed.
----------------------------------------------------------------------
ASSUMPTIONS
NOTE: This document ASSUMES the following:
1) You have an operating RBBS bulletin board
2) You are connected to FidoNet with a Node Number
3) You are using a front end mailer (Binkley SeaDog Dutchie)
4) You are using RBBSMAIL to import/export messages
While MAILWAIT was designed specifically for solving some of the
problems associated with FidoNet Echomail, it can also do a great job
of maintaining RBBS systems *not* connected to FidoNet. The batch file
examples are shown using a front end mailer (Binkley Etc.), however a
Non-FidoNet system could use their 'system maintenance' batch file
instead of the shown examples. The author assumes that you are
connected to FidoNet.
PAGE: 1
MAILWAIT Version 1.0
-----------------------------------------------------------------------
OPERATION
Basically, there are TWO modes of operation. DOS/BATCH mode -or-
command file mode. Whenever you execute MAILWAIT (for both modes), you
must specify at least the following information:
REQUIRED INPUTS:
----------------
1) The USER file to process ---------------------> /USR:xxx
2) The MESSAGE file to process ------------------> /MSG:xxx
3) The SECURITY LEVEL of the Sysop --------------> /SYS:xxx
4) The FIRST & LAST NAME of the Sysop -----------> /NAM:xxx xxx
5) Any 'Switches' (As further explained) --------> [Options]
MAILWAIT will then scan the message file for messages that qualify for
processing (depends on your Switches). If it encounters a message that
happens to be addressed to the REAL NAME of the Sysop, it will
automatically change the message TO: -or- FROM: field to 'SYSOP'.
After scanning the message file it will then read each user record to
see if any of the messages processed belong to the user. If MAILWAIT
sees a match, it will then set the mailwaiting bit in the user file to
"1" (on). If MAILWAIT finds a user record whose security level is
equal to -or- greater than the security level specified by the
'/SYS:xxx' parameter, it will assume that it has found the 'SYSOP'
record which contains the secret login name of the Sysop. If the
message scan indicated messages were to the Sysop, it will also set
this mailwaiting bit.
OPTIONAL SWITCHES:
------------------
1) Don't Display Activity ------------------>: /DDA
2) Maintain Log File (MAILWAIT.LOG) -------->: /LOG
3) Match on 'NEW' AND 'OLD' Mail to USER --->: /OLD
4) Match on Mail 'TO' AND 'FROM' the USER -->: /FROM
5) Only Check Msgs not SCANNED by RBBSMAIL ->: /B4RMS
6) Totally RESET all USERS ----------------->: /RESET
7) Strip 'RE:' from Subject Field----------->: /KILLRE:
Here is a brief description of each switch:
/DDA - Allows slightly faster program execution by not displaying
flashing user names and message data.
/LOG - Will create a file called MAILWAIT.LOG which contains a
summary of program activity and USERS who have NEW mail
/OLD - MAILWAIT will not only set the mailwaiting bit for users
who have NEW mail (mail where the rcvd field is blank) but
will also set it if the user has already read it (could
encourage him/her to kill un-needed messages)
PAGE: 2
MAILWAIT Version 1.0
/FROM - MAILWAIT will not only set the mailwaiting bit for users
who mail is addressed TO, but will also set it if the
mail is FROM the user also. This could (again) also
encourage him/her to kill un-needed messages.
/B4RMS - Using this switch is recommended for RBBS systems using
RBBSMAIL for FidoNet EchoMail processing. This will ONLY
select messages which HAVE NOT been marked by RBBSMAIL as
already scanned for mail. Therefore if only 20 NEW
messages have been received (out of say 300 messages), it
will only have to hash 20 messages in the matching user
file.
IMPORTANT: You *MUST* execute MAILWAIT *** BEFORE ***
RBBSMAIL scans the message base. RBBSMAIL will mark a
message as being scanned by changing the ':' between the
minutes & seconds indicator (HH:MM:SS) to a period (.).
/RESET - This switch is recommended when you are first installing
MAILWAIT. It will (prior to message/user hash) first zero
out all user records to 'no mail waiting'. Then it will
continue executing. This will eliminate users who
erroneously notified of NEW MAIL even though their
messages have already been purged by some other means
(such as message purging).
/KILLRE: - Using this switch is recommended for RBBS systems using
RBBSMAIL for FidoNet EchoMail processing. This will clean
up the FidoNet subject field of redundant 'RE:'
characters that are created as part of FidoNet message
processing. Example:
Subject Was: Subject (Cleaned up)
-------------------------- ---------------------------
(R) RE: MODEM FOR SALE (R)MODEM FOR SALE
(R)RE: RE:JOKES (R)JOKES
(R)RE:RE: 386 4 SALE (R)386 4 SALE
NOTE: This switch will ONLY clean up messages based on the
selection 'switches' you have specified. Example:
If your message base has 300 messages AND you
specified the /B4RMS switch and you received 20 NEW
messages, then ONLY those 20 messages will be
checked/corrected for the above condition. Using
the /RESET switch will check/correct ALL messages in
the message base.
PAGE: 3
MAILWAIT Version 1.0
----------------------------------------------------------------------
SYNTAX
MAILWAIT 1.0 (03/03/89) INTERSTATE BBS NETWORK, Seattle WA
(RBBS171D) FidoNet (1:343/36) (206)631-3231
MAILWAIT /MSG:MsgFile /USR:UsrFile /SYS:xxx /NAM:Fnam Lnam [SWITCHES]
MAILWAIT /CMD:CommandFile [/MNT:MaintFile]
/SYS:xxx xxx = Security Level of SYSOP in USR File - (Not '0')
/NAM:Fn Ln Fn = First Name and Ln = Last Name of SYSOP's COMMON NAME
/CMD:File Commands MAILWAIT will Process (Sequentially).
/MNT:File MAILWAIT will only Process Msg Files which have changed.
SWITCHES: 1) Don't Display Activity ------------------>: /DDA
2) Maintain Log File (MAILWAIT.LOG) -------->: /LOG
3) Match on 'NEW' AND 'OLD' Mail to USER --->: /OLD
4) Match on Mail 'TO' AND 'FROM' the USER -->: /FROM
5) Only Check Msgs not SCANNED by RBBSMAIL ->: /B4RMS
6) Totally RESET all USERS ----------------->: /RESET
7) Strip 'RE:' from Subject Field----------->: /KILLRE:
This program will reset the MAIL-WAITING Bit for the USERS File.
if Messages Exist. Messages to '/NAM:Fn Ln' will be changed to 'SYSOP'
----------------------------------------------------------------------
COMMAND EXAMPLES
MAILWAIT /MSG:HUMORM.DEF /USR:HUMORU.DEF /SYS:100 /NAM:MIKE ZAKHAROFF
(continued) /DDA /LOG /B4RMS /KILLRE:
This command format is recommended for RBBS systems running
RBBSMAIL, note that the security level of the Sysop (on MY system)
is 100, and I am using my common name. This command will not
display flashing user names and message records (/DDA), maintain a
MAILWAIT.LOG file (/LOG), clean up those 'RE:' characters in the
subject field (/KILLRE:), change any messages it finds
addressed to (or from) MIKE ZAKHAROFF to 'SYSOP', and will ONLY
process messages not already scanned by RBBSMAIL.
MAILWAIT /MSG:HUMORM.DEF /USR:HUMORU.DEF /SYS:100 /NAM:MIKE ZAKHAROFF
(continued) /RESET /KILLRE:
This command format is recommended for RBBS systems running
RBBSMAIL, who are first installing MAILWAIT. This will reset the
user file to 'no mailwaiting', then will hash ALL MESSAGES for
ALL USERS (/RESET) and will clean up those 'RE:' characters
(/KILLRE:). And will change any messages it finds addressed to
(or from) MIKE ZAKHAROFF to 'SYSOP'
PAGE: 4
MAILWAIT Version 1.0
MAILWAIT /MSG:MESSAGES /USR:USERS /SYS:100 /NAM:MIKE ZAKHAROFF /DDA
(continued) /LOG /OLD
This command format is recommended for RBBS systems maintaining
LOCAL conferences. This will continually remind users of OLD and
NEW mail that they have in that conference. Note that if a
trusting user is acting as 'SYSOP' then you should put HIS name in
place of yours.
MAILWAIT /MSG:MESSAGES /USR:USERS /SYS:100 /NAM:MIKE ZAKHAROFF /DDA
(continued) /OLD /FROM
This command format is recommended for RBBS systems maintaining
LOCAL conferences. This will continually remind users of OLD and
NEW mail that they have AND if mail was addressed TO -or- FROM
him/her in that conference. Note that this will cause 'maximum
annoyance' to the user.
MAILWAIT /MSG:MESSAGES /USR:USERS /SYS:100 /NAM:MIKE ZAKHAROFF /DDA
This command format is recommended for RBBS systems maintaining
LOCAL conferences. This will ONLY notify users of NEW mail that
they have in that conference.
MAILWAIT /MSG:MESSAGES /USR:USERS /SYS:100 /NAM:MIKE ZAKHAROFF /DDA
(continued) /RESET
This command format is recommended for RBBS systems maintaining
LOCAL conferences, who are first installing MAILWAIT. This will
reset everything.
----------------------------------------------------------------------
COMMAND FILES
All of the above commands are very long, and SHOULD be executed from a
MAILWAIT 'Command File'. Here is an example of mine:
/MSG:C:\RBBS\COMMM.DEF /USR:C:\RBBS\COMMU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\CONSULTM.DEF /USR:C:\RBBS\CONSULTU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\COOKINGM.DEF /USR:C:\RBBS\COOKINGU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\C_PRGMM.DEF /USR:C:\RBBS\C_PRGMU.DEF /SYS:100
(contunued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\FEMINM.DEF /USR:C:\RBBS\FEMINU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\FORSALEM.DEF /USR:C:\RBBS\FORSALEU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\HUMORM.DEF /USR:C:\RBBS\HUMORU.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
/MSG:C:\RBBS\OS2M.DEF /USR:C:\RBBS\OS2U.DEF /SYS:100
(continued) /NAM:MIKE ZAKHAROFF /OLD /DDA /B4RMS /LOG /KILLRE:
PAGE: 5
MAILWAIT Version 1.0
The SYNTAX to execute from a command file is simple:
MAILWAIT /CMD:MAILWAIT.CMD <return>
MAILWAIT will then execute each one of those lines located within
the command file just as if you had executed then directly from
DOS. This will keep your front-end or your system maintenance
batch file clean and organized.
NOTE: The above example is for FidoNet message processing, also I would
have specified a 'Maintenance File' also.... Read on.
----------------------------------------------------------------------
MAINTENANCE COMMAND & FILE PURPOSE
If you are going to execute MAILWAIT from a command file (and you
should) you should *ALSO* specify the 'MNT:' parameter. Here's how it
works:
Every time you execute MAILWAIT using the 'MNT:' parameter with a
maintenance file, MAILWAIT will first check to see if record number 1
of the message base has changed (i.e.: # of Messages, Record # of next
message, etc.). If it hasn't then it will skip processing. This will
save considerable time if no users have entered messages in days.
Here is an example of the 'MAILWAIT.MNT' maintenance file created:
C:\RBBS\COMMM.DEF, 121 , 5 , 862 , 1024
C:\RBBS\CONSULTM.DEF, 87 , 5 , 642 , 1024
C:\RBBS\COOKINGM.DEF, 170 , 5 , 1241 , 1500
C:\RBBS\C_PRGMM.DEF, 206 , 5 , 1690 , 2000
C:\RBBS\FEMINM.DEF, 132 , 5 , 1017 , 1200
C:\RBBS\FORSALEM.DEF, 267 , 5 , 1690 , 2000
C:\RBBS\HUMORM.DEF, 153 , 5 , 859 , 1024
C:\RBBS\OS2M.DEF, 110 , 5 , 860 , 1024
MAILWAIT will check & update this file EVERY TIME it is executed.
SYNTAX:
MAILWAIT /CMD:MAILWAIT.CMD /MNT:MAILWAIT.MNT <return>
NOTE: This is the **Optimum** method of MAILWAIT operation.
----------------------------------------------------------------------
INSTALLATION
First, update the supplied 'MAILWAIT.CMD' command file and configure it
to RESET your USERS file mailwait bit (/RESET).
Next, using the following batch file excerpt as a guide, test MAILWAIT
to make sure it works as stated. It is highly recommended that you set
up some sort of 'TEST-JIG' batch file to convince yourself that it
works.
PAGE: 6
MAILWAIT Version 1.0
WARNING: Do not entrust your precious message/user bases to my meager
programming skills! Try this on a backup copy of your message/user
bases first. If it mucks up your message bases, don't come crying to
me!
Next, Modify your Binkley, Seadog, or other front-end mailer or system
maintenance batch file. Here is an example of mine. Note that this
can take on many different forms AND this is just a 'PORTION' of the
batch file!
----------------------------------------------------------------------
RBBSMAIL FIDONET BATCH FILE EXAMPLE
:RECMAIL
confMail import areas.bbs -F confmail.out -a pkxarc
confMail maint -F confmail.out
rbbsmail toss /f:arearbbs.bbs /l /tu /s
Msgecho /cfg:Msgecho.cfg
IF Not Exist E:\ECHOS\*.msg Goto SCAN
rbbsmail toss /f:arearbbs.bbs /l /tu /s
If Exist E:\ECHOS\*.msg confmail renum -S -Q -E -Z -R E:\ECHOS
If Exist E:\ECHOS\*.msg Msgecho /cfg:Msgecho.cfg
If Exist E:\ECHOS\*.msg rbbsmail toss /f:arearbbs.bbs /l /tu /s
Msgecho /cfg:Msgecho.cfg
:SCAN
--> 1 MAILWAIT /CMD:MAILWAIT.CMD /MNT:MAILWAIT.MNT
rbbsmail /f:arearbbs.bbs scan /l /o
Goto START
NOTE: Because I am using the '/B4RMS' switch, notice that the MAILWAIT
command is *** BEFORE *** the RBBSMAIL SCAN command!
If you are using RBBSMAIL and are NOT using MSGECHO (as in the
above batch file), you can receive it from my board (I am the
Author). MSGECHO will totally automate message base maintenance
if you are running RBBSMAIL.
----------------------------------------------------------------------
WARRANTIES
I hereby warrant that MAILWAIT could (without warning) muck up all your
message/users files to the point of non-use at anytime! Therefore the
use of this program is solely at your own risk! I also warrant that I
may NEVER update this program past this initial release.
----------------------------------------------------------------------
EPILOG
I would like to know what you think of this program! Call my BBS or
drop me Netmail or catch me in the various ECHOS that I participate in.
If I don't get any feedback, how am I suppose to know who is using it
and what incentive do I have to improve it? Meanwhile, happy BBSing!
PAGE: 7